<template>
    <div
            :class="prefixCls"
            class="h-[100%] relative lt-xl:bg-[var(--login-bg-color)] lt-sm:px-10px lt-xl:px-10px lt-md:px-10px"
    >
        <div class="relative h-full flex mx-auto">
            <div
                    :class="`${prefixCls}__left flex-1 bg-gray-500 bg-opacity-20 relative p-30px lt-xl:hidden`"
            >
                <!-- 左上角的 logo + 系统标题 -->
                <div class="flex items-center relative text-white">
                    <span class="text-20px font-bold">{{ underlineToHump(appStore.getTitle) }}</span>
                </div>
                <!-- 左边的背景图 + 欢迎语 -->
                <div class="flex justify-center items-center h-[calc(100%-60px)]">
                    <TransitionGroup
                            appear
                            enter-active-class="animate__animated animate__bounceInLeft"
                            tag="div"
                    >
                        <img key="1" alt="" class="w-350px" src="@/assets/imgs/pc_logo.jpg"/>
                        <!-- <div key="2" class="text-3xl text-white">{{ t('login.welcome') }}</div>
                        <div key="3" class="mt-5 font-normal text-white text-14px">
                            {{ t('login.message') }}
                        </div> -->
                    </TransitionGroup>
                </div>
            </div>
            <div class="flex-1 p-30px lt-sm:p-10px dark:bg-[var(--login-bg-color)] relative">
                <!-- 右上角的主题、语言选择 -->
                <div
                        class="flex justify-between items-center text-white at-2xl:justify-end at-xl:justify-end"
                >
                    <div class="flex items-center at-2xl:hidden at-xl:hidden">
                        <img alt="" class="w-48px h-48px mr-10px" src="@/assets/imgs/logo.png"/>
                        <span class="text-20px font-bold">{{ underlineToHump(appStore.getTitle) }}</span>
                    </div>
                    <div class="flex justify-end items-center space-x-10px">
                        <ThemeSwitch/>
                        <!-- <LocaleDropdown class="lt-xl:text-white dark:text-white"/> -->
                    </div>
                </div>
                <!-- 右边的登录界面 -->
                <Transition appear enter-active-class="animate__animated animate__bounceInRight">
                    <div
                            class="h-full flex items-center m-auto w-[100%] at-2xl:max-w-500px at-xl:max-w-500px at-md:max-w-500px at-lg:max-w-500px"
                    >
                        <!-- 账号登录 -->
                        <LoginForm class="p-20px h-auto m-auto lt-xl:(rounded-3xl light:bg-white)"/>
                        <!-- 手机登录 -->
                        <MobileForm class="p-20px h-auto m-auto lt-xl:(rounded-3xl light:bg-white)"/>
                        <!-- 二维码登录 -->
                        <QrCodeForm class="p-20px h-auto m-auto lt-xl:(rounded-3xl light:bg-white)"/>
                        <!-- 注册 -->
                        <RegisterForm class="p-20px h-auto m-auto lt-xl:(rounded-3xl light:bg-white)"/>
                    </div>
                </Transition>
            </div>
        </div>
    </div>
</template>
<script lang="ts" setup>
import {underlineToHump} from '@/utils'
import {useDesign} from '@/hooks/web/useDesign'
import {useAppStore} from '@/store/modules/app'
import {ThemeSwitch} from '@/layout/components/ThemeSwitch'
import {LocaleDropdown} from '@/layout/components/LocaleDropdown'

import {LoginForm, MobileForm, QrCodeForm, RegisterForm} from './components'

defineOptions({name: 'Login'})

const {t} = useI18n()
const appStore = useAppStore()
const {getPrefixCls} = useDesign()
const prefixCls = getPrefixCls('login')
</script>

<style lang="scss" scoped>
$prefix-cls: #{$namespace}-login;

.#{$prefix-cls} {
    overflow: auto;

    &__left {
        &::before {
            position: absolute;
            top: 0;
            left: 0;
            z-index: -1;
            width: 100%;
            height: 100%;
            background-image: url('@/assets/svgs/login-bg.svg');
            background-position: center;
            background-repeat: no-repeat;
            content: '';
        }
    }
}
</style>
